import request from '@/api/instance.js'

/**
 * 添加购物车项
 * @param {Object} addCartItemDTO - 添加购物车项数据
 * @param {number} addCartItemDTO.productId - 商品ID
 * @param {number} addCartItemDTO.quantity - 数量
 * @param {string} addCartItemDTO.specifications - 规格
 * @returns {Promise} 返回Promise对象
 */
export function addCartItem(addCartItemDTO) {
  return request({
    url: '/cart/add',
    method: 'post',
    data: addCartItemDTO
  })
}

/**
 * 更新购物车项是否选中
 * @param {number} cartItemId - 购物车项ID
 * @param {number} isSelected - 是否选中 (1:选中, 0:未选中)
 * @returns {Promise} 返回Promise对象
 */
export function updateCartItemSelected(cartItemId, isSelected) {
  return request({
    url: '/cart/is-selected',
    method: 'patch',
    params: {
      cartItemId,
      isSelected
    }
  })
}

/**
 * 清空购物车
 * @param {Object} clearCartDTO - 清空购物车数据
 * @param {number} clearCartDTO.userId - 用户ID
 * @returns {Promise} 返回Promise对象
 */
export function clearCart(clearCartDTO) {
  return request({
    url: '/cart/clear-cart',
    method: 'delete',
    data: clearCartDTO
  })
}